/*     */ package com.cr.common.utils;
/*     */ 
/*     */ import com.alibaba.fastjson.JSONObject;
/*     */ import com.cr.common.core.text.CharsetKit;
/*     */ import java.lang.reflect.InvocationTargetException;
/*     */ import java.math.BigDecimal;
/*     */ import java.math.BigInteger;
/*     */ import java.nio.ByteBuffer;
/*     */ import java.nio.charset.Charset;
/*     */ import java.text.NumberFormat;
/*     */ import java.util.ArrayList;
/*     */ import java.util.HashMap;
/*     */ import java.util.List;
/*     */ import java.util.Map;
/*     */ import java.util.Set;
/*     */ import lombok.SneakyThrows;
import org.apache.commons.beanutils.BeanUtils;
/*     */
/*     */ import org.springframework.boot.autoconfigure.security.SecurityProperties;
/*     */ @SuppressWarnings("unchecked")
/*     */ public class ConvertUtil {
/*     */   public static String toStr(Object value, String defaultValue) {
/*  32 */     if (null == value)
/*  33 */       return defaultValue; 
/*  35 */     if (value instanceof String)
/*  36 */       return (String)value; 
/*  38 */     return value.toString();
/*     */   }
/*     */   
/*     */   public static String toStr(Object value) {
/*  50 */     return toStr(value, null);
/*     */   }
/*     */   
/*     */   public static Character toChar(Object value, Character defaultValue) {
/*  63 */     if (null == value)
/*  64 */       return defaultValue; 
/*  66 */     if (value instanceof Character)
/*  67 */       return (Character)value; 
/*  70 */     String valueStr = toStr(value, null);
/*  71 */     return Character.valueOf(MyStringUtils.isEmpty(valueStr) ? defaultValue.charValue() : valueStr.charAt(0));
/*     */   }
/*     */   
/*     */   public static Character toChar(Object value) {
/*  83 */     return toChar(value, null);
/*     */   }
/*     */   
/*     */   public static Byte toByte(Object value, Byte defaultValue) {
/*  96 */     if (value == null)
/*  97 */       return defaultValue; 
/*  99 */     if (value instanceof Byte)
/* 100 */       return (Byte)value; 
/* 102 */     if (value instanceof Number)
/* 103 */       return Byte.valueOf(((Number)value).byteValue()); 
/* 105 */     String valueStr = toStr(value, null);
/* 106 */     if (MyStringUtils.isEmpty(valueStr))
/* 107 */       return defaultValue; 
/*     */     try {
/* 110 */       return Byte.valueOf(Byte.parseByte(valueStr));
/* 111 */     } catch (Exception e) {
/* 112 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Byte toByte(Object value) {
/* 125 */     return toByte(value, null);
/*     */   }
/*     */   
/*     */   public static Short toShort(Object value, Short defaultValue) {
/* 138 */     if (value == null)
/* 139 */       return defaultValue; 
/* 141 */     if (value instanceof Short)
/* 142 */       return (Short)value; 
/* 144 */     if (value instanceof Number)
/* 145 */       return Short.valueOf(((Number)value).shortValue()); 
/* 147 */     String valueStr = toStr(value, null);
/* 148 */     if (MyStringUtils.isEmpty(valueStr))
/* 149 */       return defaultValue; 
/*     */     try {
/* 152 */       return Short.valueOf(Short.parseShort(valueStr.trim()));
/* 153 */     } catch (Exception e) {
/* 154 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Short toShort(Object value) {
/* 167 */     return toShort(value, null);
/*     */   }
/*     */   
/*     */   public static Number toNumber(Object value, Number defaultValue) {
/* 180 */     if (value == null)
/* 181 */       return defaultValue; 
/* 183 */     if (value instanceof Number)
/* 184 */       return (Number)value; 
/* 186 */     String valueStr = toStr(value, null);
/* 187 */     if (MyStringUtils.isEmpty(valueStr))
/* 188 */       return defaultValue; 
/*     */     try {
/* 191 */       return NumberFormat.getInstance().parse(valueStr);
/* 192 */     } catch (Exception e) {
/* 193 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Number toNumber(Object value) {
/* 206 */     return toNumber(value, null);
/*     */   }
/*     */   
/*     */   public static Integer toInt(Object value, Integer defaultValue) {
/* 219 */     if (value == null)
/* 220 */       return defaultValue; 
/* 222 */     if (value instanceof Integer)
/* 223 */       return (Integer)value; 
/* 225 */     if (value instanceof Number)
/* 226 */       return Integer.valueOf(((Number)value).intValue()); 
/* 228 */     String valueStr = toStr(value, null);
/* 229 */     if (MyStringUtils.isEmpty(valueStr))
/* 230 */       return defaultValue; 
/*     */     try {
/* 233 */       return Integer.valueOf(Integer.parseInt(valueStr.trim()));
/* 234 */     } catch (Exception e) {
/* 235 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Integer toInt(Object value) {
/* 248 */     return toInt(value, null);
/*     */   }
/*     */   
/*     */   public static Integer[] toIntArray(String str) {
/* 258 */     return toIntArray(",", str);
/*     */   }
/*     */   
/*     */   public static Long[] toLongArray(String str) {
/* 268 */     return toLongArray(",", str);
/*     */   }
/*     */   
/*     */   public static Integer[] toIntArray(String split, String str) {
/* 279 */     if (MyStringUtils.isEmpty(str))
/* 280 */       return new Integer[0]; 
/* 282 */     String[] arr = str.split(split);
/* 283 */     Integer[] ints = new Integer[arr.length];
/* 284 */     for (int i = 0; i < arr.length; i++) {
/* 285 */       Integer v = toInt(arr[i], Integer.valueOf(0));
/* 286 */       ints[i] = v;
/*     */     } 
/* 288 */     return ints;
/*     */   }
/*     */   
/*     */   public static Long[] toLongArray(String split, String str) {
/* 299 */     if (MyStringUtils.isEmpty(str))
/* 300 */       return new Long[0]; 
/* 302 */     String[] arr = str.split(split);
/* 303 */     Long[] longs = new Long[arr.length];
/* 304 */     for (int i = 0; i < arr.length; i++) {
/* 305 */       Long v = toLong(arr[i], null);
/* 306 */       longs[i] = v;
/*     */     } 
/* 308 */     return longs;
/*     */   }
/*     */   
/*     */   public static String[] toStrArray(String str) {
/* 318 */     return toStrArray(",", str);
/*     */   }
/*     */   
/*     */   public static String[] toStrArray(String split, String str) {
/* 329 */     return str.split(split);
/*     */   }
/*     */   
/*     */   public static Long toLong(Object value, Long defaultValue) {
/* 342 */     if (value == null)
/* 343 */       return defaultValue; 
/* 345 */     if (value instanceof Long)
/* 346 */       return (Long)value; 
/* 348 */     if (value instanceof Number)
/* 349 */       return Long.valueOf(((Number)value).longValue()); 
/* 351 */     String valueStr = toStr(value, null);
/* 352 */     if (MyStringUtils.isEmpty(valueStr))
/* 353 */       return defaultValue; 
/*     */     try {
/* 357 */       return Long.valueOf((new BigDecimal(valueStr.trim())).longValue());
/* 358 */     } catch (Exception e) {
/* 359 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Long toLong(Object value) {
/* 372 */     return toLong(value, null);
/*     */   }
/*     */   
/*     */   public static Double toDouble(Object value, Double defaultValue) {
/* 385 */     if (value == null)
/* 386 */       return defaultValue; 
/* 388 */     if (value instanceof Double)
/* 389 */       return (Double)value; 
/* 391 */     if (value instanceof Number)
/* 392 */       return Double.valueOf(((Number)value).doubleValue()); 
/* 394 */     String valueStr = toStr(value, null);
/* 395 */     if (MyStringUtils.isEmpty(valueStr))
/* 396 */       return defaultValue; 
/*     */     try {
/* 400 */       return Double.valueOf((new BigDecimal(valueStr.trim())).doubleValue());
/* 401 */     } catch (Exception e) {
/* 402 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Double toDouble(Object value) {
/* 415 */     return toDouble(value, null);
/*     */   }
/*     */   
/*     */   public static Float toFloat(Object value, Float defaultValue) {
/* 428 */     if (value == null)
/* 429 */       return defaultValue; 
/* 431 */     if (value instanceof Float)
/* 432 */       return (Float)value; 
/* 434 */     if (value instanceof Number)
/* 435 */       return Float.valueOf(((Number)value).floatValue()); 
/* 437 */     String valueStr = toStr(value, null);
/* 438 */     if (MyStringUtils.isEmpty(valueStr))
/* 439 */       return defaultValue; 
/*     */     try {
/* 442 */       return Float.valueOf(Float.parseFloat(valueStr.trim()));
/* 443 */     } catch (Exception e) {
/* 444 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static Float toFloat(Object value) {
/* 457 */     return toFloat(value, null);
/*     */   }
/*     */   
/*     */   public static Boolean toBool(Object value, Boolean defaultValue) {
/* 470 */     if (value == null)
/* 471 */       return defaultValue; 
/* 473 */     if (value instanceof Boolean)
/* 474 */       return (Boolean)value; 
/* 476 */     String valueStr = toStr(value, null);
/* 477 */     if (MyStringUtils.isEmpty(valueStr))
/* 478 */       return defaultValue; 
/* 480 */     valueStr = valueStr.trim().toLowerCase();
/* 481 */     switch (valueStr) {
/*     */       case "true":
/* 483 */         return Boolean.valueOf(true);
/*     */       case "false":
/* 485 */         return Boolean.valueOf(false);
/*     */       case "yes":
/* 487 */         return Boolean.valueOf(true);
/*     */       case "ok":
/* 489 */         return Boolean.valueOf(true);
/*     */       case "no":
/* 491 */         return Boolean.valueOf(false);
/*     */       case "1":
/* 493 */         return Boolean.valueOf(true);
/*     */       case "0":
/* 495 */         return Boolean.valueOf(false);
/*     */     } 
/* 497 */     return defaultValue;
/*     */   }
/*     */   
/*     */   public static Boolean toBool(Object value) {
/* 510 */     return toBool(value, null);
/*     */   }
/*     */   
/*     */   public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value, E defaultValue) {
/* 523 */     if (value == null)
/* 524 */       return defaultValue; 
/* 526 */     if (clazz.isAssignableFrom(value.getClass()))
/* 528 */       return (E)value; 
/* 531 */     String valueStr = toStr(value, null);
/* 532 */     if (MyStringUtils.isEmpty(valueStr))
/* 533 */       return defaultValue; 
/*     */     try {
/* 536 */       return Enum.valueOf(clazz, valueStr);
/* 537 */     } catch (Exception e) {
/* 538 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static <E extends Enum<E>> E toEnum(Class<E> clazz, Object value) {
/* 551 */     return toEnum(clazz, value, null);
/*     */   }
/*     */   
/*     */   public static BigInteger toBigInteger(Object value, BigInteger defaultValue) {
/* 564 */     if (value == null)
/* 565 */       return defaultValue; 
/* 567 */     if (value instanceof BigInteger)
/* 568 */       return (BigInteger)value; 
/* 570 */     if (value instanceof Long)
/* 571 */       return BigInteger.valueOf(((Long)value).longValue()); 
/* 573 */     String valueStr = toStr(value, null);
/* 574 */     if (MyStringUtils.isEmpty(valueStr))
/* 575 */       return defaultValue; 
/*     */     try {
/* 578 */       return new BigInteger(valueStr);
/* 579 */     } catch (Exception e) {
/* 580 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static BigInteger toBigInteger(Object value) {
/* 593 */     return toBigInteger(value, null);
/*     */   }
/*     */   
/*     */   public static BigDecimal toBigDecimal(Object value, BigDecimal defaultValue) {
/* 606 */     if (value == null)
/* 607 */       return defaultValue; 
/* 609 */     if (value instanceof BigDecimal)
/* 610 */       return (BigDecimal)value; 
/* 612 */     if (value instanceof Long)
/* 613 */       return new BigDecimal(((Long)value).longValue()); 
/* 615 */     if (value instanceof Double)
/* 616 */       return new BigDecimal(((Double)value).doubleValue()); 
/* 618 */     if (value instanceof Integer)
/* 619 */       return new BigDecimal(((Integer)value).intValue()); 
/* 621 */     String valueStr = toStr(value, null);
/* 622 */     if (MyStringUtils.isEmpty(valueStr))
/* 623 */       return defaultValue; 
/*     */     try {
/* 626 */       return new BigDecimal(valueStr);
/* 627 */     } catch (Exception e) {
/* 628 */       return defaultValue;
/*     */     } 
/*     */   }
/*     */   
/*     */   public static BigDecimal toBigDecimal(Object value) {
/* 641 */     return toBigDecimal(value, null);
/*     */   }
/*     */   
/*     */   public static String utf8Str(Object obj) {
/* 652 */     return str(obj, CharsetKit.CHARSET_UTF_8);
/*     */   }
/*     */   
/*     */   public static String str(Object obj, String charsetName) {
/* 664 */     return str(obj, Charset.forName(charsetName));
/*     */   }
/*     */   
/*     */   public static String str(Object obj, Charset charset) {
/* 676 */     if (null == obj)
/* 677 */       return null; 
/* 680 */     if (obj instanceof String)
/* 681 */       return (String)obj; 
/* 682 */     if (obj instanceof byte[] || obj instanceof Byte[])
/* 683 */       return str(obj, charset); 
/* 684 */     if (obj instanceof ByteBuffer)
/* 685 */       return str((ByteBuffer)obj, charset); 
/* 687 */     return obj.toString();
/*     */   }
/*     */   
/*     */   public static String str(byte[] bytes, String charset) {
/* 698 */     return str(bytes, MyStringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset));
/*     */   }
/*     */   
/*     */   public static String str(byte[] data, Charset charset) {
/* 709 */     if (data == null)
/* 710 */       return null; 
/* 713 */     if (null == charset)
/* 714 */       return new String(data); 
/* 716 */     return new String(data, charset);
/*     */   }
/*     */   
/*     */   public static String str(ByteBuffer data, String charset) {
/* 727 */     if (data == null)
/* 728 */       return null; 
/* 731 */     return str(data, Charset.forName(charset));
/*     */   }
/*     */   
/*     */   public static String str(ByteBuffer data, Charset charset) {
/* 742 */     if (null == charset)
/* 743 */       charset = Charset.defaultCharset(); 
/* 745 */     return charset.decode(data).toString();
/*     */   }
/*     */   
/*     */   public static String toSBC(String input) {
/* 757 */     return toSBC(input, null);
/*     */   }
/*     */   
/*     */   public static String toSBC(String input, Set<Character> notConvertSet) {
/* 768 */     char[] c = input.toCharArray();
/* 769 */     for (int i = 0; i < c.length; i++) {
/* 770 */       if (null == notConvertSet || !notConvertSet.contains(Character.valueOf(c[i])))
/* 775 */         if (c[i] == ' ') {
/* 776 */           c[i] = '　';
/* 777 */         } else if (c[i] < '') {
/* 778 */           c[i] = (char)(c[i] + 65248);
/*     */         }  
/*     */     } 
/* 782 */     return new String(c);
/*     */   }
/*     */   
/*     */   public static String toDBC(String input) {
/* 792 */     return toDBC(input, null);
/*     */   }
/*     */   
/*     */   public static String toDBC(String text, Set<Character> notConvertSet) {
/* 803 */     char[] c = text.toCharArray();
/* 804 */     for (int i = 0; i < c.length; i++) {
/* 805 */       if (null == notConvertSet || !notConvertSet.contains(Character.valueOf(c[i])))
/* 810 */         if (c[i] == '　') {
/* 811 */           c[i] = ' ';
/* 812 */         } else if (c[i] > '＀' && c[i] < '｟') {
/* 813 */           c[i] = (char)(c[i] - 65248);
/*     */         }  
/*     */     } 
/* 816 */     String returnString = new String(c);
/* 818 */     return returnString;
/*     */   }
/*     */   
/*     */   public static String digitUppercase(double n) {
/* 828 */     String[] fraction = { "角", "分" };
/* 829 */     String[] digit = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
/* 830 */     String[][] unit = { { "元", "万", "亿" }, { "", "拾", "佰", "仟" } };
/* 832 */     String head = (n < 0.0D) ? "负" : "";
/* 833 */     n = Math.abs(n);
/* 835 */     String s = "";
/* 836 */     for (int i = 0; i < fraction.length; i++)
/* 837 */       s = s + (digit[(int)(Math.floor(n * 10.0D * Math.pow(10.0D, i)) % 10.0D)] + fraction[i]).replaceAll("(零.)+", ""); 
/* 839 */     if (s.length() < 1)
/* 840 */       s = "整"; 
/* 842 */     int integerPart = (int)Math.floor(n);
/* 844 */     for (int j = 0; j < (unit[0]).length && integerPart > 0; j++) {
/* 845 */       String p = "";
/* 846 */       for (int k = 0; k < (unit[1]).length && n > 0.0D; k++) {
/* 847 */         p = digit[integerPart % 10] + unit[1][k] + p;
/* 848 */         integerPart /= 10;
/*     */       } 
/* 850 */       s = p.replaceAll("(零.)*零$", "").replaceAll("^$", "零") + unit[0][j] + s;
/*     */     } 
/* 852 */     return head + s.replaceAll("(零.)*零元", "元").replaceFirst("(零.)+", "").replaceAll("(零.)+", "零").replaceAll("^整$", "零元整");
/*     */   }
/*     */   
/*     */   @SneakyThrows
public static <T, E> E convert(T source, Class<E> targetClass) {
/* 857 */     E target = null;
/*     */     try {
/* 859 */       target = targetClass.newInstance();
/* 860 */     } catch (InstantiationException|IllegalAccessException e) {
/* 861 */       e.printStackTrace();
/* 862 */       return null;
/*     */     } 
/* 865 */     try {
	BeanUtils.copyProperties(target,source);
} catch (IllegalAccessException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
} catch (InvocationTargetException e) {
	// TODO Auto-generated catch block
	e.printStackTrace();
}
/* 866 */     return target;
/*     */   }
/*     */   
/*     */   public static <T, E> List<E> convertList(List<T> sourceList, Class<E> targetClass) {
/* 870 */     List<E> targetList = new ArrayList<>();
/* 871 */     for (T source : sourceList) {
/* 872 */       E target = convert(source, targetClass);
/* 873 */       targetList.add(target);
/*     */     } 
/* 875 */     return targetList;
/*     */   }
/*     */   
/*     */   public static Map<String, String> convertToMap(Object obj) {
/*     */     try {
/* 881 */       if (obj instanceof Map)
/* 882 */         return (Map<String, String>)obj; 
/* 884 */       Map<String, String> returnMap = BeanUtils.describe(obj);
/* 885 */       returnMap.remove("class");
/* 886 */       return returnMap;
/* 887 */     } catch (IllegalAccessException e1) {
/* 888 */       e1.getMessage();
/* 889 */     } catch (InvocationTargetException e2) {
/* 890 */       e2.getMessage();
/* 891 */     } catch (NoSuchMethodException e3) {
/* 892 */       e3.getMessage();
/*     */     } 
/* 894 */     return new HashMap<>();
/*     */   }
/*     */   
/*     */   public static void main(String[] args) {
/* 897 */     SecurityProperties.User user = new SecurityProperties.User();
/* 898 */     user.setName("aa");
/* 899 */     user.setPassword("123456");
/* 900 */     Map<String, String> map = convertToMap(user);
/* 901 */     System.out.println(JSONObject.toJSONString(map));
/*     */   }
/*     */ }


/* Location:              D:\tmp\creditorRights-admin\BOOT-INF\lib\creditorRights-common-4.7.0.jar!\com\cr\commo\\utils\ConvertUtil.class
 * Java compiler version: 8 (52.0)
 * JD-Core Version:       1.1.3
 */